package com.dao.base;
import com.model.domain.base.GetBaseCarInfoDO;
import com.model.dto.base.car.GetCarInfoDTO;
import com.model.dto.base.car.GetCarTotalDTO;
import com.model.pojo.base.BaseCarInfo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface BaseCarInfoMapper {
    int deleteByPrimaryKey(@Param("baseCarInfoId") Long baseCarInfoId);

    int insert(BaseCarInfo record);

    int insertSelective(BaseCarInfo record);

    BaseCarInfo selectByPrimaryKey(@Param("baseCarInfoId") Long baseCarInfoId, @Param("isDelete") Byte isDelete);

    int updateByPrimaryKeySelective(BaseCarInfo record);

    int updateByPrimaryKey(BaseCarInfo record);

    List<BaseCarInfo> selectList(GetBaseCarInfoDO getbaseCarInfoDO);
    List<BaseCarInfo> selectByCarIdList(@Param("carIdList")List<Long> carIdList);
    void insertListSelective(List<BaseCarInfo> baseCarInfoList);

    void updateListSelective(List<BaseCarInfo> baseCarInfoList);

    int has(@Param("baseCarInfoId") Long baseCarInfoId, @Param("isDelete") Byte isDelete);

    /**
     * 统计车辆
     * @param dto
     * @return
     */
    int countCar(GetCarTotalDTO dto);

    /**
     * 查询车辆
     * @param dto
     * @return
     */
    BaseCarInfo selectBaseCarInfo(GetCarInfoDTO dto);
}